﻿#pragma once
#include "SMTBasics.h"
#include "MesUploadSettingPage.h"


#define ADAPTER_DLL_API extern"C" __declspec(dllexport)
/**
* @fn              createOperator
* @brief           创建算子对象
* @details         全局导出函数，供SMT框架调用
* @param[out]     SMTOperator 算子指针
*/
ADAPTER_DLL_API SMTOperator* createOperator();

/**
* @fn              releaseOperator
* @brief           释放算子对象
* @details         全局导出函数，预留函数接口
* @param[in ]      算子指针
*/
ADAPTER_DLL_API void  releaseOperator(SMTOperator *opr);

class MesUploadOpr :
	public SMTOperator
{
public:
	MesUploadOpr();
	~MesUploadOpr();
	virtual long run();
	virtual int SettingPageCount();
	virtual SMTSettingPage* createSettingPage(int index);

private:
	MesUploadSettingPage* pSettingPage;

	void initSmtOutPutVariables();
	void initSmtInputVariables();
	/*初始化算子名称和Id*/
	void initSmtOprProperties();
	/*初始化SettingPage的页面显示*/
	void initSmtSettingPages();
	/*初始化ROI页面里的元素*/
	void initSmtRoiPageSetting();
};

